package com.run2code.design.behavioral.observer;

/**
 * 主题接口
 * 关注公众号【奔跑的码畜】，一起进步不迷路
 *
 * @author 第七人格
 * @date 2024/06/17
 */
interface Subject {
    /**
     * 注册观察者
     *
     * @param observer 观察者
     */
    void registerObserver(Observer observer);

    /**
     * 注销观察者
     *
     * @param observer 观察者
     */
    void unregisterObserver(Observer observer);

    /**
     * 通知观察者
     *
     * @param newPrice 新价格
     */
    void notifyObservers(double newPrice);
}
